//package com.teamall.framework.util;
//
//import java.util.ArrayList;
//import java.util.HashMap;
//import java.util.List;
//import java.util.Map;
//
//import javax.annotation.PostConstruct;
//
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.stereotype.Component;
//
//import com.teamall.core.common.CommonEnum;
//import com.teamall.core.common.Page;
//import com.teamall.framework.exception.BaseAppException;
//import com.teamall.web.sysmanage.db.po.SysDictValPO;
//import com.teamall.web.sysmanage.service.ISysDictValService;
//
///** 
//* @ClassName: DictUtils 
//* @Description: TODO(获取码表的数据) 
//* @author li 276827604 
//* @date 2015年10月8日 上午10:54:57 
//*  
//*/
//@Component
//public class DictUtils {
//	public static Map<String,List<SysDictValPO>> dictValMap = null;
//	@Autowired
//	private ISysDictValService sysDictValService;  //获取码表值的服务类
//	/**
//	 * @throws BaseAppException 
//	 * 
//	* @Title: init 
//	* @Description: TODO(服务器启动的时候将数据从数据库中写入到内存中,重新刷新码表的时候也加载该方法)     
//	* @throws
//	 */
//	@PostConstruct
//	public void init() throws BaseAppException{
//		dictValMap = new HashMap<String,List<SysDictValPO>>();
//		// 获取码表中所有
//		SysDictValPO sysDictValParam = new SysDictValPO();
//		// 取到有效值
//
//		sysDictValParam.addNewConditions("status", "T");
//
//		sysDictValParam.addNewConditions("status", CommonEnum.TRUE.getCode());
//
//    	Page<SysDictValPO> page = new Page<SysDictValPO>();
//    	// 设置为无穷大
//    	page.setLimit(100000);
//    	// 从数据库获取到所有的值
//    	Page<SysDictValPO> resultPage = sysDictValService.selectByArgAndPage(sysDictValParam, page);
//    	List<SysDictValPO> sysDictValPOList = resultPage.getResultList();
//    	for (SysDictValPO sysDictValPO : sysDictValPOList) {
//    		String keyId = sysDictValPO.getKeyId();
//    		List<SysDictValPO> sysDictValList = DictUtils.dictValMap.get(keyId);
//    		if(sysDictValList==null){
//    			sysDictValList = new ArrayList<SysDictValPO>();
//    			sysDictValList.add(sysDictValPO);
//    			DictUtils.dictValMap.put(keyId, sysDictValList);
//    		}else{
//    			sysDictValList.add(sysDictValPO);
//    		}
//		}
//	}
//	/**
//	 * 
//	* @Title: getDictValues 
//	* @Description: TODO(根据KEYID获取到码表的集合) 
//	* @param keyId
//	* @return    
//	* @throws
//	 */
//	public static List<SysDictValPO> getDictValues(String keyId){
//		return DictUtils.dictValMap.get(keyId);
//	}
//	/**
//	 * 
//	* @Title: getDictValue 
//	* @Description: TODO(根据KEYID和码表的值获取码表对象) 
//	* @param KeyId
//	* @param dictVal
//	* @return   返回码表对象
//	* @throws
//	 */
//	public static SysDictValPO getDictValue(String keyId,String dictValParam){
//		SysDictValPO sysOb = null;
//		List<SysDictValPO> sysDictValList = DictUtils.dictValMap.get(keyId);
//		for (SysDictValPO sysDictValPO : sysDictValList) {
//			String dictVal = sysDictValPO.getDictVal();
//			if(dictVal.equals(dictValParam)){
//				sysOb = sysDictValPO;
//			}
//		}
//		return sysOb;
//	}
//	/**
//	 * 
//	* @Title: getDictNameByValue 
//	* @Description: TODO(根据KEYID和码表的值获取码表对应的显示名称) 
//	* @param KeyId
//	* @param dictVal
//	* @return   返回码表显示名称
//	* @throws
//	 */
//	public static String getDictNameByValue(String keyId,String dictValParam){
//		SysDictValPO sysOb = getDictValue(keyId, dictValParam);
//		String displayName = "";
//		if(sysOb!=null){
//			displayName = sysOb.getDictName();
//		}
//		return displayName;
//	}
//}
